/*******************************************************************************
Game.h

	Game.h Resource
*******************************************************************************/

#pragma once

// Make sure we're using the debug libraries if we're doing a debug build
#if _DEBUG
#pragma comment(lib, "sfml-graphics-s-d.lib")
#pragma comment(lib, "sfml-window-s-d.lib")
#pragma comment(lib, "sfml-system-s-d.lib")
#else
#pragma comment(lib, "sfml-graphics-s.lib")
#pragma comment(lib, "sfml-window-s.lib")
#pragma comment(lib, "sfml-system-s.lib")
#endif

#include <SFML/Graphics.hpp>	// The SFML graphics library
#include <SFML/System.hpp>		// For the timer
#include "EntityResource.h"		// The entity data
#include "Entity.h"				// The entity base class
#include "EntityManager.h"		// The entity manager
#include "ControllerManager.h"	// The controller manager
#include "ViewManager.h"		// The view manager
#include "Controller.h"			// The Controller base class

class Game
{
public:
	// Initializes the Game object
	bool Initialize(int iWidth, int iHeight, std::string strTitle, bool bIsFullscreen);
	// Starts the game loop
	int Start(void);
protected:
	// The window used to render to
	sf::RenderWindow m_window;
	// The size of the window
	int m_iWidth;
	int m_iHeight;
}; // Game